/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package specs.novousuario;

import br.com.ffm.info.praticas.fiptwitter.User;
import org.jbehave.core.annotations.Given;
import org.jbehave.core.annotations.Then;
import org.jbehave.core.annotations.When;

import static org.junit.Assert.*;

/**
 *
 * @author jacksonjp
 */
public class Unfollow {
    private FIPTwitterFacade facade;
    private User user;
    private Exception resultException;
    
    @Given("os usu\u00E1rios Mathias e Baiano seguindo o CptoNascimento")
    public void givenUsuarioMatBaiCpto(){
        try{
                facade = new FIPTwitterFacade();
                user = facade.NewUser("Mathias","nuncaserao","Capitão Nascimento");
                user = facade.NewUser("Baiano","nuncaserao","Capitão Nascimento");
                user = facade.NewUser("CptoNascimento","nuncaserao","Capitão Nascimento");
	    } catch(Exception e){
                resultException = e;
	      }	
    }
    
    @When("o CptoNascimento twittar alguma $mensagem")
    public void whenTwittaMensagem(String msg){
        user.addMensagens(msg);
    }
    
    @When("o Baiano twittar a $mensagem Na cara, n\u00E3o!")
    public void whenMensagemCaraDePau(String msg){
        user.addMensagens(msg);
    }
    
    @When("o Mathias twittar a $mensagem Maconheiro safado!")
    public void whenMesagemMaconheiroSafado(String msg){
        user.addMensagens(msg);
        
    }
    
    @When("Baiano deixar de seguir CptoNascimento")
    public void whenDeichaDeSeguirCptoNascimento(String seguir){
        user.addSeguidores(user);
        
    }
    
    @Then("a timeline do Baiano e do Mathias devem ter o tamanho $1")
    public void thenTimelineTamanho1(String tam){
        assertNotNull(user);
        assertEquals(tam,"1");
    }
    
    @Then("a timeline do Baiano deve ter tamanho $2")
    public void thenTimelineTamanho2(String tam){
        assertNotNull(user);
        assertEquals(tam,"2");
    }
    
    @Then("a timeline do Mathias deve ter tamanho $2")
    public void thenTimelineMathiasTamanho2(String tam){
        assertNotNull(user);
        assertEquals(tam,"2");
        
    }
    
}
